Power Failure and Fisa Programmer

How current situation is saved
   Current Instruction and Call Stack
   Inhalt des Historischen Registers
   Zustand der fysischer Ausgänge
   Zustand der fysischer Eingänge
   Zustand der virtueller Ausgänge
   Flags
   Timers, zeitgesteuerte Flags
   Timed Outputs
   Andere Parametern
   Forced Restart

How current situation is saved
The Fisa Programming Unit (also called Programmer) is the blue box that can be mounted inside the control cabinet or on a wall or on the machine. The Programmer uses a non-volatile memory (EEPROM). After a power failure, the Robot can restart exactly on the instruction that was being executed at the time of the power failure and continue the cleaning program. For this purpose several parameters are constantly updated in memory:

Current Instruction and Call Stack
In order to continue with what was being done, the current instruction and the calls are memorized.

Inhalt des Historischen Registers
Dieses ist das Register, das den Inhalt der Korbpositionen in der Maschine widerspiegelt. Der Wert stellt den Korb-Code in einer Position dar.

Zustand der fysischer Ausgänge
If a pump was activated at the power failure, it will be restarted when the Programmer is powered on again. The behaviour for a timed Output is different, see below.

Zustand der fysischer Eingänge
The state of physical inputs is not governed by the Programmer so they are not memorized. At repowering these inputs will respond depending on the status of the machine.

Zustand der virtueller Ausgänge
In versions preceding 11.01 of the Programmer the virtual Outputs are used as Flags. The state of these virtual outputs is restored on powering up the Programmer again. For timed outputs see below.

NOTIZ: The separation between local and shared physical IOs and local and shared virtual IOs is defined by configuration parameters:
'Number of Inputs' (also called Config Inputs) and 'Number of Outputs' (also called Config Outputs).
Configuration Parameters

Flags
Starting from version 11.01 of the Programmer we have 64 Flags that can be used in the same way as the virtual IOs defined for precedent versions of the Programmer.
NOTIZ: The separation between shared and local flags is defined by the configuration parameter 'Common Flags'.

Timers, zeitgesteuerte Flags
No residual times are are memorized for timers or timed Flags. Dieses hat den Effekt, daß alle Zeiten, an einem Stromausfall, als abgelaufen gegolten werden. This means that a Timer (eg for minimum residence time) will be reset after a power failure and the basket will be taken out even if the real time has not elapsed. A Flag nn activated for 10 minutes (Timed Flag ON nn min 10 sec 00) will find itself OFF after repowering the Programmer.
Andere Beispiel: a Flag nn deactivated for 20 minutes (Timed Flag OFF nn min 20 sec 00) will be activated at repowering.

Timed Outputs
Residual times at the moment of power failure are memorized for all outputs. For instance, an ultrasound (output nn) activated for 5 minutes (TL nn min 05 sec 00,0) will remain ON for the memorized residual time after repowering. The same applies for a virtual Output nn (used as flag) that was activated for 30 minutes (TL nn min 30 sec 00), 10 minutes before a power failure which lasted 1 hour. After repowering the robot this Output nn remains activated for 20 minutes before being deactivated.

Andere Parametern
The Current Program, Next Program and the value of the Code Cell are all restored on repowering the Programmer.

Forced Restart
A forced start after repowering (Shift + Start) will reset all the memorized parameters. Dieses könnte nützlich sein, zum Beispiel wenn die Maschine manuell nach einem Stromausfall geleert worden ist und es keine Notwendigkeit gibt, das Reinigungsprogramm fortzusetzen, in dem sie unterbrochen wurde.
NOTIZ: Two or more robots in dialogue require restart of each one of them in order to guarantee the reset of all shared outputs and flags.